                          ============================
                           R E L E A S E    N O T E S
                          ============================

                    QLogic Network Adapter Diagnostic Driver
                  For Windows Server 2000, 2003, 2008 and 2012

                     Copyright (c) 2014 QLogic Corporation
                              All rights reserved.


Version 7.12.1.0 (Dec 18, 2014)
===============================

    Fixes:
    ------

    1. Problem: CQ#76791
          OS Crashes (Win2008R2) while running Diagnostics test using QCS.

       Cause:
          Linked with dynamic library that is not available on Win2008R2.

       Fix:
          Build driver with correct library.

       Impact:
          Windows server 2008 and 2008R2.

Version 7.12.0.0a (Oct 28, 2014)
================================

    Fixes:
    ------

    1. Problem: CQ#76419
          Some of the device friendly names do not comply with the 
          rebranding spec.

       Cause:
          Missed following some points in rebranding spec.

       Fix:
          Corrected friendly names in inf file.

       Impact:
          All.

Version 7.12.0.0 (Oct 22, 2014)
===============================

    Enhancements
    ------------

    1. Request:
           Change branding from Broadcom to QLogic.

Version 7.10.0.0a (Oct 23, 2014)
================================

   Enhancements:
   -------------

   1. Request:
       CQ#75538 Add 57811 ID's

      Change:
         As Requested.

      Impact:
         None.

Version 7.8.51.0a (Sep 13, 2012)
================================

    Fixes:
    ------

    1. Problem:
          Failed to install diag driver on specific oem device.

       Cause:
          Type in inf file caused wrong 2-part id to appear in inf

       Fix:
          Fix inf.


Version 7.8.51.0 (Aug 29, 2012)
===============================

    Fixes:
    ------

    1. Problem: cq#70688
          The fix below causes the DF - PNP Cancel Stop and Cancel Remove
          to fail.

       Cause:
          The test is issuing the cancel stop or cancel remove IRP without
          first having issued the query stop or query remove IRP.  In these
          cases the fix below will restore the driver state to an incorrect
          state.

       Fix:
          When processing cancel stop or cancel remove IRP without previously
          having processed query stop or query remove IRP, the driver state
          must not be changed.



Version 7.8.50.0 (Aug 28, 2012)
===============================

    Fixes:
    ------

    1. Problem: cq#70688
          DF-PnP rebalance request new resources test failed on WHCK 2.1

       Cause:
          Cancel stop device IRP handling does not restore the device to
          the previous state which is the normal state.

       Impact:
          Issue is in previous gold drivers but there is no functional
          impact.


    Enhancements
    ------------

    1. Work with 2-part IDs for OEM devices in INF (instead 4 part).
    
    2. CQ69401 - Remove OEM devices from INF.



Version 7.8.1.0 (Dec 6, 2012)
=============================

    Fixes:
    ------

    1. Problem: cq#66782
           Control registers test intermittently fails when NC-SI traffic
           is running in background.

       Cause:
           Specific register should not be tested with NC-SI traffic.

       Fix:
           Exclude the specific register.

    2. Problem: cq#66772
           ChkINF failure - duplicate entry name.

       Cause:
           Duplicate entries added version 7.8.0.

       Fix:
           Rename duplicate entries.

Version 7.8.0.0 (Nov 15, 2012)
==============================

    Enhancements
    ------------

    1.  Initial version for T7.8 release.

Version 7.6.4.0 (Nov 11, 2012)
==============================

    Fixes:
    ------

    1. Problem: cq#66157 (re-fix)
           Unable to run bacs diag tests in npar mode BCM57840.

       Cause:
           Missing id's in INF.

       Fix:
           Add missing id's.

Version 7.6.3.0 (Nov 5, 2012)
=============================

    Fixes:
    ------

    1. Problem: cq#66155
           Control registers test fails.

       Cause:
           Fix for problem cq#66015, #66047 in 7.6.1.0 intorduced a bug in the
           code logics that caused this issue.

      Fix:
           Re-fix the code.

Version 7.6.2.0 (Oct 31, 2012)
==============================

    Fixes:
    ------

    1. Problem: cq#66160
          Driver version in the device property page is incorrect.

       Cause:
          The "driverver" entry in the INF file was set to an incorrect
          version.

    Enhancements
    ------------

    1. Changes to INF parameter names.

    2. cq#66155 cq#66157 - Add diag testing support for BCM57840.



Version 7.6.1.0 (Oct 23, 2012)
==============================

   Fixes:
   ------

   1. Problem: cq#66015, #66047
         The driver does not load on Windows 2008 R2 and older.

      Cause:
         The new Windows 20012 WDK build environment imports system routines
         that are not importabled.

Version 7.6.0.0 (Oct 16, 2012)
==============================

    Enhancements
    ------------

    1. cq#63857 - Add 4-part IDs for OEM devices.

    2. cq#65926 - INF updates for OEM designs.

    3. cq#66015 - Add 2-part IDs for OEM devices.

    4. Migrated to the latest Windows 2012 WDK.



Version 7.4.1 (Aug 10, 2012)
===========================

    Enhancements
    ------------

    1.  cq#65140 - Remove an OEM device.



Version 7.4.0 (Apr 30, 2012)
===========================

    Enhancements
    ------------

    1.  Initial T7.4 release.



Version 7.2.1 (Mar 8, 2012)
===========================

    Enhancements
    ------------

    1. Request:
          CQ59827 - Change SSID for OEM.

    2. Request:
          CQ62050 - Added support for additional OEM devices.



Version 7.2.0 (Nov 22, 2011)
============================

    Enhancements
    ------------

    1. Request:
           CQ58461 - INF changes for specific OEM designs.

    2. Request:
           CQ58654 - Add new 4-part ID for OEM.


    3. Request:
           CQ59442 - OEM friendly name change.



Version 7.0.4 (Sept 1, 2011)
============================

   Fixes:
   ------

   1. Problem:
         CQ58158 - E3, rNDC 57800 B0 - BACS Diagnostics fails in NPAR mode.

      Cause:
         device id doesn't appear in inf file.

      Fix:
         Add the id to the inf

      Impact:
         BCM578xx NPAR mode only.



Version 7.0.3 (Aug 10, 2011)
============================

   Fixes:
   ------

   1. Problem:
         CQ57574,CQ57255 - Control registers test fails for BCM578xx B0.

      Cause:
         Access to registers that were removed for the B0 revision.

      Fix:
         Mark the appropriate registers as not available for BCM578xx.

      Impact:
         BCM578xx only.

Version 7.0.2 (July 13, 2011)
=============================

   Fixes:
   ------

   1. Problem:
         CQ56526 - eVBD BACS4 BCM57810 Loopback test failed on both 1Gb ports.

      Cause:
         Moved 1G logics from bxdiag driver to eVBD.

      Fix:
         Trivial.

      Impact:
         BCM578xx only.


    Enhancements
    ------------

    1. CQ53605 - Add specific OEM BCM57810 support to the bxdiag driver inf.



Version 7.0.1 (June 14, 2011)
=============================

   Fixes:
   ------

   1. Problem:
         BCM578xx failed register test during BACS diag testing.

      Cause:
         Removed registers in BCM578xx.

      Fix:
         Trivial.

      Impact:
         BCM578xx only.

   2. Problem:
         BCM578xx failed loop back test during BACS diag testing.

      Cause:
         Customization for BCM578xx

      Fix:
         Change loop back block from BMAC to XMAC.

      Impact:
         BCM578xx only.

   3. Problem:
         Link reset is not always done in loopback testing's.

      Cause:
         Variable not initialized.

      Fix:
         Initialize the variable. Assert in checked builds in case of failure.

      Impact:
         All.



Version 7.0.0 (May 27, 2011)
============================

    Enhancements
    ------------

    1. Add specific BCM57800 BCM57810 BCM57840 support to the bxdiag driver
       and inf.



Version 6.4.3 (Apr 11, 2011)
============================

    Enhancements
    ------------

    1. Use two part-id match for all Broadcom devices.



Version 6.4.2 (Mar 17, 2011)
============================

    Enhancements
    ------------

     1. Request:
           CQ53450 CQ53451 CQ53761 Add to INF PNP Device ID's.

        Change:
           As requested.

        Impact:
           As requested.

Version 6.4.1 (Mar 2, 2011)
===========================

   Fixes:
   ------

    1. Problem:
          CQ52951 - Assert is seen while running Bacs register test on 577xx

       Cause:
          Invalid writes to PBF registers during the test.

       Fix:
          Fix the test's register writes.

       Impact:
          BCM577XX only, exposed by VBD version >=6.4.19.

    2. Problem:
          Unpredictable behaviour may occur after running BACS register test on 577xx

       Cause:
          Writes to excluded registers during the test

       Fix:
          Synchronize the test's list of registers with ediag's list of excluded registers.

       Impact:
          BCM577XX only.


    Enhancements
    ------------

     1. Request:
           CQ52559 CQ50501 Add to INF PNP Device ID's.

        Change:
           As requested.

        Impact:
           As requested.



Version 6.4.0 (Feb 11, 2011)
============================

    Enhancements
    ------------

     1. Request:
           Add to INF PNP Device ID's (synced with 6.2).

        Change:
           As requested.

        Impact:
           As requested.



Version 6.0.11 (Aug 10, 2010)
=============================

    Enhancements
    ------------

    1. Request:
          Restore devices that were removed in v6.0.10.



Version 6.0.10 (Aug 2, 2010)
============================

    Enhancements:
    -------------

 1. Request:
       CQ47866 - Remove device id's from inf toward T6.0 RC.

    Change:
       As requested.

    Impact:
       None.



Version 6.0.9 (July 7, 2010)
============================

   Fixes:
   ------

   1. Problem:
         CQ48467 - BCM57712 failed Internal Memory during BACS diag testing.

      Cause:
         Pariity in IGU register.

      Fix:
         Remove IGU memory testing.

      Impact:
         BCM57712 only.

   2. Problem:
         CQ48445 - BCM57712:MII Registers test fails bacs diag test.

      Cause:
         Lack of timeout in XGXS read/write.

      Fix:
         Add short timeout in case of BCM57712.

      Impact:
         BCM57712 only.

Version 6.0.8 (June 10, 2010)
=============================

   Fixes:
   ------

   1. Problem:
         Test hangs after loopback test failure.

      Cause:
         In case loopback test failed due to lack of contiguous memory (fragmentation), rollback was not handled correctly.

      Fix:
         Fix rollback handling.

      Impact:
         T6.0 only.

   2. Problem:
         After ~500 iterations of testing tests began to fail due to insufficient resources.

      Cause:
         Memory fragmentation due to many alloc/free contiguous memory iterations.

      Fix:
         Make memory usage more conservative - use recommended VBD rx/tx descriptor count.

      Impact:
         T6.0 only.

   3. Problem:
         Some tests were running although VBD start/init failed.

      Cause:
         Returned value from VBD start/init was not checked.

      Fix:
         Check the returned value and in case of failure return STATUS_INSUFFICIENT_RESOURCES.

      Impact:
         BCM5771xx devices.


    Enhancements:
    -------------

 1. Request:
       Add specific support for BCM57712 Nic partitioning mode in inf.

    Change:
       As requested.

    Impact:
       None.


Version 6.0.7 (June 7, 2010)
============================

   Fixes:
   ------

   1. Problem: cq#47627
         Unable to run diagnostic on a new device.

      Cause:
         The device id string in the INF file was incorrect.

Version 6.0.6 (June 2, 2010)
============================

    Enhancements:
    -------------

    1. Request:
        CQ47628 CQ45691 Add specific BCM57712 support to the bxdiag driver code.

       Change:
          Added support to the BCM57712 chip id and added BCM57712 specific registers to memory test.

       Impact:
          BCM57712 only.

   Fixes:
   ------

    1. Problem:
          Intermitent BSOD or any unexpected behavior when running loopback diagnostics tests.

       Cause:
          When allocating packet descriptors for RX/TX there was a miscalculation that caused some
          memory overruns.

       Fix:
          Fixed the memory overrun.

       Impact:
          T6.0 only. exposed for both BCM5771x (10gb) & BCM570x (1gb).



Version 6.0.5 (May 20, 2010)
============================

    Enhancements:
    -------------

    1. Request:
        CQ#47863 Add BRCM57712 PNP IDs to INF.

       Change:
          As Requested.

       Impact:
          None.

Version 6.0.4 (May 3, 2010)
===========================

    Enhancements:
    -------------

    1. Request:
          Add BRCM57711 PNP IDs to INF.

       Change:
          As Requested.

       Impact:
          None.


    2. Request:
          Change l2_indicate_link_t client routine to l2_indicate_event_t.
          The motivation for making this change is to make event indications
          (including link status) more generic.



Version 6.0.3 (Apr 22, 2010)
============================

   Fixes:
   ------

   1. Problem:
         The receive and transmit packet descriptors do not have signatures
         for sanity checking by the bus driver.  As a result, it will cause
         the checked bus driver to assert when it tries to validate the
         descriptor pointers.

      Fix:
         Packet descriptors are initialized with the required signatures.


   Enhancements:
   -------------

   1. Request: cq#47228
        Add BRCM57712 PNP IDs to INF.

Version 6.0.2 (Feb 26, 2010)
============================

   Enhancements:
   -------------

   1. Request: cq#45473
        Update the copyright year to 2010.

   2. Request:
        CQ#46113 Add BRCM57712 PNP IDs to INF.



Version 6.0.1 (Feb 18, 2010)
============================

   Enhancements:
   -------------

   1. Request:
       Add BRCM57711/BRCM57712 PNP IDs to INF.

      Change:
         As Requested.

      Impact:
         None.



Version 6.0.0 (Jan 04, 2010)
============================

   Enhancements:
   -------------

   1. Request:
       CQ#43091 Add BRCM57711 PNP IDs to INF.

      Change:
         As Requested.

      Impact:
         None.

    2. Request: Integrated fixes from t5.0 and t5.2 releases.



Version 5.2.0 (Jul 29, 2009)
============================

    1. T5.2 baseline release.



Version 5.0.3B (Jul 21, 2009)
============================

   Enhancements:
   -------------

   1. Request:
       CQ#42231 Add BRCM57711 PNP IDs to INF.

      Change:
         As Requested.

      Impact:
         None.

Version 5.0.3 (Jul 06, 2009)
============================

   Enhancements:
   -------------

   1. Request:
       CQ#41931 Add BRCM57711E PNP IDs to INF.

      Change:
         As Requested.

      Impact:
         None.

   Fixes:
   ------

   1. Problem: CQ#42286
         BACS diagnostic fails Intermittently fails Loopback-Mac test when NCSI pass through is present.

      Cause:
         Since BMAC is in loopback mode in these tests, NCSI traffic is
         received by diag and cause test failure.

      Fix:
          Disable the egress traffic of NCSI and change MAC classification options at
          the beginning of the test end restore their original values at the end of the test.
          (NIG_REG_EGRESS_UMP0/1_IN_EN to 0 and NIG_REGISTERS_LLH0/1_BCN_TYPE to 1)

Version 5.0.2 (May 20, 2009)
============================

   Enhancements:
   -------------

   1. Request:
       CQ#41254 Add BRCM57711 PNP IDs to INF.

      Change:
         As Requested.

      Impact:
         None.

   2. Request: Changed the way 5709 fiber device is reset
               for loopback mode.

Version 5.0.1 (Apr 21, 2009)
============================

   Enhancements:
   -------------

   1. Request:
       CQ#40226, CQ#40380 Add BRCM57711 PNP IDs to INF.

      Change:
         As Requested.

      Impact:
         None.

Version 5.0.0 (Apr 07, 2009)
============================

   Enhancements:
   -------------

   1. Request:
       CQ#39765 Add OEM PNP IDs to INF

      Change:
         As Requested.

      Impact:
         None.

   2. CQ#40135 - bxdiag -change copyright year to 2009
   3. CQ#40374 - For the B06Diag driver for T5.0, the DUP product_version
      string needs to be rolled up to 14.1.0.


Version 4.8.3a (Feb 07, 2009)
=============================

   Enhancements:
   -------------

   1. Request:
       CQ#39496 Remove OEM PNP IDs from INF

      Change:
         As Requested.

      Impact:
         None.

Version 4.8.3 (Feb 06, 2009)
=============================

   Fixes:
   ------

   1.  Problem: CQ#39450
          The system may crash during diagnostic on one port while
          there is a load/unload test running on the second port.

       Cause:
          The driver does not check to make sure that it can start
          the bus driver successfully before starting the interrupt or
          the loopback test.  In some cases, the vbd may not be able to
          start due to resource constraint.  The diagnostic driver needs
          to fail gracefully instead of crashing the system.

Version 4.8.2a (Jan 15, 2009)
=============================

   Enhancements:
   -------------

   1. Request:
       CQ#39231 Add OEM PNP IDs to INF

      Change:
         As Requested.

      Impact:
         None.



Version 4.8.2 (Jan 13, 2009)
===========================

   Fixes:
   ------

    1.  Problem: CQ#35166
           5708B2 VBD Fails Plug and Play Driver Test in WLK 1.2
           when diag driver is enumerated

        Cause:
           The driver doesn't unbind and rebind the driver resource rebalancing which
           causes the bus driver to wait on outstanding reference to become clear. Also
           the driver doesn't setup IRP stack correctly and complete the paused request
           on some resource rebalancing related IRPs.

        Change:
           Change the PNP flow to bind to and unbind from the bus driver upon resource
           rebalancing to make it compatible with the KMDF implementation of the virtual
           bus driver. Fixed the some IRP handling code to setup the IRP stack correctly
           and complete the paused requests.



Version 4.8.1 (Dec 5, 2008)
===========================

   Enhancements:
   -------------

   1. Request:
       Add BCM957711T0191/BCM957711T0192 to INF

      Change:
         As Requested.

      Impact:
         None.



Version 4.8.0 (Nov 19, 2008)
===========================

   Fixes:
   ------

    1.  Problem: cq#38249
           PHY loopback test may fail on BCM5709S when the second port
           is busy passing traffic during BACS diag test.

        Cause:
           After each iteration of the test, the diag driver needs to
           reset the SERDES.  Currently there is no delay after the
           reset.  A small delay is needed after each test.


   Enhancements:
   -------------

   1.  Add support for BCM5716S.



Version 4.6.4 (Oct 13, 2008)
===========================

   Fixes:
   ------

    1.  Problem:BCM57710/BCM57711 CQ037873.
           MII registers test in BACS diagnostics, causes an assert on board 1030.

        Cause:
           The FW asserts due to incorrect initialization in this test.

        Fix:
           Fixed the register initialization in this test.



Version 4.6.3 (Oct 6, 2008)
===========================

   Fixes:
   ------

    1.  Problem:BCM57710/BCM57711 CQ037446
           MII registers test fails in BACS diagnostics.

        Cause:
           MII register read return 0xFFFF, due to incorrect initialization of a register.

        Fix:
           Fixed the register initialization.


   Enhancements:
   -------------

   1.  Added BCM957711A1111G to inf



Version 4.6.2 (Sept 18, 2008)
=============================

    Fixes
    -----

    1.  Problem: BCM57710/BCM57711 CQ37273
           Some boards failed Mac and Phy loopback on Windows Server 2008 x64 when running BACS on function 0.

        Cause:
           In the BACS "Control Registers" test,the original registers values tested, were overridden with zero.

        Fix:
           Removed the override.



Version 4.6.1 (Sept 17, 2008)
=============================

    Fixes
    -----

    1.  Problem: BCM57710/BCM57711 CQ36914
           BSOD Exhibits when Continuously Loading/Unloading evbd Driver on LOM and Running Diag test

        Cause:
           Chip reset was mistakenly called twice on CPU test.
           this extra call might cause a condition race on link reset between MCP and driver.

        Fix:
           Removed the unnecessary call to chip reset.



Version 4.6.0 (Aug 13, 2008)
===========================

   Enhancements:
   -------------

   1.  Change version number to v4.6.0.



Version 4.5.0 (July 1, 2008)
===========================

   Enhancements:
   -------------

   1.  BCM57710  - CQ#35973 Add support for additional devices in the inf file.
   2.  BCM57711E - Support correctly diagnostics test for function numbers greater than 1.



Version 4.4.5 (Jun 19, 2008)
===========================

    Fixes
    -----

    1.  Problem: BCM57710 CQ35527
           Memory test failed after hard shutdown of the system

        Cause:
           A wrong parity was on

        Fix:
           Excluded violating memory block

    2.  Problem: BCM57711
          Loopback test failed.

        Cause:
           Due to a change in the FW, packets with source MAC address
           of the self NIC are being drooped.

        Fix:
          Change src mac address in loopback test packets.


   Enhancements:
   -------------

   1.  BCM57711/BCM5771E - Add support for diagnostics for these devices



Version 4.4.4 (Jun 13, 2008)
===========================

    Fixes
    -----

    1.  Problem: BCM57710 CQ35839
           Memory tests on two ports causes system hung during stress traffic

        Cause:
           Memory blocks that shouldn't be tested were accessed.

        Fix:
           Excluded violating memory blocks from the test.



Version 4.4.3 (Jun 9, 2008)
===========================

    Fixes
    -----

    1.  Problem: BCM57710 CQ#35073,35258,35617,35527
           Memory tests on two ports causes system hung

        Cause:
           Memory blocks that shouldn't be tested were accessed.

        Fix:
           Excluded violating memory blocks from the test.


   Enhancements:
   -------------

   1.  BCM57710 - Add support for additional devices in the inf file.
   2.  BCM57711 - Added preliminary support in the code for BCM57711/BCM57711E devices
   3.  Fixed BCM957710A1021G SSID to 1f14
   4.  CQ#35563 - Add support for BCM5716C.



Version 4.4.2 (Apr 9, 2008)
===========================

   Enhancements:
   -------------

   1.  BCM57710 CQ#34565 - Add support for additional devices in the inf file.
   2.  CQ#34722 - Add support for BCM5709 C0.



Version 4.4.1 (Mar 27, 2008)
============================

   Fixes:
   ------

   1.  Problem: BCM957710 register test
       - Register test for BCM957710 was fixed (port0/port1 typo and method
         of testing - with mask).


   2.  Problem: BCM57710 CQ#34432
          Remove non-existing adapter from OEM INF.

       Fix:
          Wrong adapter removed.


   3.  Problem: BCM57710 CQ#34439
          Reference to OEM's device in INF is incorrect.

       Fix:
          Fixed the Reference.


   Enhancements:
   -------------

   1. BCM57710 CQ#34436 - Add support for additional devices in the inf file.



Version 4.4.0 (Mar 19, 2008)
============================

   Enhancements:
   -------------

   1.  CQ#34207 - Add new devices in the INF file.
   2.  BCM57710 INF changes
          1. inf BCM957711  (164f) Added
          2. inf BCM957711E (1650) Added
          3. inf BCM957710A1021G added
          4. inf BCM957710A1030G added
          5. inf BCM957710A1032G added
          6. inf BCM957710A1015G (1115) added
          7. Removed "OEM only" boards from Broadcom .INF



Version 4.1.1 (Jan 3, 2008)
===========================

   Fixes:
   ------

   1.  Fix: CQ#33245
          Changed "Windows Server 2003" to "Windows Server 2000, 2003 and 2008".



Version 4.1.0 (Jan 2, 2008)
===========================

   Fixes:
   ------

   1.  Problem: CQ#32798
       - Changed everest's memories being checked accroding to system's spec
       - Do not make full chip init on memory tests (behave like in registers
         tests)
       - Added HC block to memory test (mask #0 bit on parity) ECO Cont00030847



Version 4.0.1 (Dec 7, 2007)
===========================

   Enhancements:
   -------------

   1.  Changed product version to 12.0.

   2.  CQ#32717 - Removed "GigE" from the product name.



Version 4.0.0 (Nov 18, 2007)
============================

   Fixes:
   ------

   1.  Problem: CQ#31705
          Bxdiag driver fails Plug and Play Stress Test

       Casue:
          Binding twice when START_DEVICE after STOP_DEVICE.


   Enhancements:
   -------------

   1.  Request:
          Add support for Everest devices.



Version 3.7.2 (Sept 25, 2007)
=============================

   Fixes:
   ------

   1.  Problem: CQ#31502
          Control Registers test will intermitently fail on one of BCM5709's
          ports if heavy traffic is generated on the other port.

       Casue:
          Some of the DMA registers are shared between the two ports.  These
          shared registers should not be part of the register test.



Version 3.7.1 (Jul 20, 2007)
============================

   Fixes:
   ------

   1.  Problem: CQ#30154
          5709: BxDiag: MII Registers test fails

       Cause:
          Bit14 of 5709 mii Auto-negotiation register cannot be changed.


   2.  Problem: CQ#30155
          5709: System asserts when terminating BxDiag

       Cause:
          Phy is still in loopback mode after terminating BxDiag.

       Fix:
          Reset the phy after loopback tests.


   3.  Problem: CQ#30153
          5709: BxDiag: Control Registers test fails

       Fix:
          Create a new test register set for 5709.


   4.  Problem: CQ#30152
          VBD yellow bang after running diag in BACS

       Cause:
          mcp firmware cannot be reset for 5709. Diag test wiped out
          SHM_ADDR_SIGNATURE which generated by mcp firmware and caused
          VBD reloaded failed.

       Fix:
          Skip all tests related to mcp for 5709.



Version 3.7.0 (Apr 27, 2007)
============================

   Enhancements:
   -------------

   1.  Request:
          Recompile with the new bdrv_if.h to be compatible with the v3.7.x
          VBD.



Version 3.1.0 (Jan 23, 2007)
============================

   Enhancements:
   -------------

   1.  Request:
          Add support for BCM5709.



Version 3.0.5 (Dec 22, 2006)
============================

   Enhancements:
   -------------

   1.  Request: CQ#27950
          Modify the INF file to create a "product_version" key.



Version 3.0.0 (Nov 15, 2006)
============================

   Enhancements:
   -------------

   1.  Version sync-up with VBD v3.0.0.



Version 2.9.0 (Aug 7, 2006)
===========================

   Enhancements:
   -------------

   1.  Version sync-up with VBD v2.9.0.



Version 2.8.9 (June 15, 2006)
=============================

   Enhancements:
   -------------

   1.  Request: CQ#24764
          Include additional devices in the INF file.

   2.  Request: CQ#22904
          Add support for 1Gb external loopback.



Version 2.6.16 (Apr 14, 2006)
=============================

   1.  Problem:
          System crashes if the VBD and the diag driver have interface
          version mismatch.

       Cause:
          The VBD fails an interface query because of version mis-match.
          But the return status is ignored.

       Change:
          Driver initialization will fail if there is a version mismatch.


   2.  Problem: CQ#24291
          The bus driver is disabled after running Windows diagnostic.

       Cause:
          The driver does not issue a chip reset after memory or cpu test.
          Later when the VBD is reloaded, the bootcode may not reinitialize
          the shared memory causing the VBD to fail.

       Change:
          Issue a chip reset after memory and cpu tests.



Version 2.6.3 (Feb 16, 2006)
============================

   1.  Problem:
          System crashes when running loopback test on IA64.

       Cause:
          There was an unaligned u32_t pointer deference.

       Change:
          Driver was changed to use shift arithmetic.


   Enhancements:
   -------------

   1.  Request:
          Make calls to debug_msg to increase code coverage.  This
          routine was never called.



Version 2.6.2 (Jan 23, 2006)
============================

   Enhancements:
   -------------

   1.  Request:
          Include additional devices in the INF file.



Version 2.6.0 (Dec 21, 2005)
============================

   Enhancements:
   -------------

   1.  Request:
          Incorporate the changes made to bdrv_if.h.



Version 2.5.21 (Dec 9, 2005)
============================

   1.  Problem: CQ#22210
          Occasional failures seen in Serdes loopback test on BCM5706S.

       Cause:
          The reset on the Serdes part causes the RX MAC to lose sync
          resulting in dropping of the first packet.

       Change:
          Reset the RX MAC after resetting the Serdes part.



Version 2.5.19 (Nov 30, 2005)
=============================

   Enhancements:
   -------------

   1.  Request:
          Remove debug prints for better code coverage.



Version 2.5.5 (Oct 5, 2005)
===========================

   1.  Problem: CQ#1749
          Running diagnostic causes parity error.

       Cause:
          The control register test causes the mailboxq block to get
          stuck in a weird state which resulted in a parity error.

       Change:
          Remove register 0x3c10 and 0x3c80 from the list of registers
          to test.


   2.  Problem: CQ#1923
          Running diagnostic causes an assert in the bus driver.

       Cause:
          The MII register test puts the PHY chip in the "isolate" mode
          which the bus driver does not expect during initialization.

       Change:
          At the end of the MII register test, reset the PHY chip.



Version 2.5.4 (Sept 21, 2005)
=============================

   Enhancements:
   -------------

   1.  Request:
          Include additional devices in the INF file.



Version 2.5.1 (Sept 6, 2005)
============================

   Fixes:
   ------

   1.  Problem: CQ#1668
          Loopback test fails.

       Cause:
          The loopback test starts on the first link-up indication.
          At this time, the link may bounce a bit before stabilizing.


       Change:
          Wait for link up to stabilized for at least 500ms before
          starting the test.



Version 2.5.0 (Aug 17, 2005)
============================

   Enhancements:
   -------------

   1.  Request:
          Include additional devices in the INF file.



Version 2.0.5 (June 6, 2005)
============================

   Enhancements:
   -------------

   1.  Request:
          Add support for BCM5708.



Version 2.0.4 (Mar 21, 2005)
============================

   Fixes:
   ------

   1.  Problem:
          Driver crashes when running diag tests with driver verifier enabled.

       Cause:
          The drv_ioctl routine is pageable which means it cannot raise
          the IRQL to DISPATCH by acquiring a lock.

       Change:
          Made the routine non-pageable.



Version 2.0.3 (Feb 18, 2005)
============================

   Fixes:
   ------

   1.  Problem:
          INF file has an incorrect PCI device ID.



Version 2.0.2 (Feb 16, 2005)
============================

   Enhancements:
   -------------

   1.  Request:
          Modify the INF so Windows will not prompt the user for the
          source diskette.



Version 2.0.1 (Feb 9, 2005)
===========================

   Enhancements:
   -------------

   1.  Request:
          Enable linker flags for code coverage testing.



Version 2.0.0 (Feb 6, 2005)
===========================

   Enhancements:
   -------------

   1.  Request:
          Change the version number to 2.0.0.  This version is the same
          as the previous version.



Version 1.0.5 (Jan 25, 2005)
============================

   Enhancements:
   -------------

   1.  Request:
          Add additional branding for a new device.

       Change:
          Made changes in the INF file.



Version 1.0.4 (Jan 21, 2005)
============================

   Fixes:
   ------

   1.  Problem:
          Running the interrupt test on a checked build of the bus driver
          will cause a false assertion.

       Cause:
          The interrupt test calls the dg_drv_handle_hw_events routine at
          a PASSIVE irql.  The bus driver is expecting the caller to
          raise the irql to DISPATCH.

       Change:
          The diag driver will raise the irql to DISPATCH before calling
          dg_drv_handle_hw_events.



Version 1.0.3 (Jan 19, 2005)
============================

   Fixes:
   ------

   1.  Problem:
          Failing MII test.

       Cause:
          The list of registers to test did not have a terminator resulting
          in invalid register offset.


   Enhancements:
   -------------

   1.  Request:
          Added customer branding in the INF file.



Version 1.0.2 (Dec 16, 2004)
============================

   Enhancements:

   1.  Request:
          Add additional calls to the VBD for code coverage tests.

       Change:
          The interrupt test will now call the bus driver to enable/disable
          interrupts and poll for hardware events.



Version 1.0.1 (Nov 22, 2004)
============================

   Enhancements:
   -------------

   1.  Request:
          Change the driver name to bxdiagx.sys for x86 platform, and
          bxdiaga.sys for AMD64 platform.

       Change:
          Sources and INF files were modified.


   Fixes:
   ------

   1.  Problem:
          External loopback was not working.

       Cause:
          When running the external loopback test, the driver sets the
          chip to autonegotiation mode.  Autonegotiation does not work
          in this mode.

       Change:
          The diag driver will now set the link speed to 100Mbps when
          running the external loopback test.



Version 1.0.0 (Aug 25, 2004)
============================

   Initial release.
